package com.example.operator;

/**
 * 目标：搞清楚基本的算术运算符
 */
public class OperatorDemo1 {
    public static void main(String[] args) {
        // print(10, 2);
        print(10, 3);

        System.out.println("---------------------------------");

        print2();
    }

    public static void print(int a, int b) {
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        // 在java中除法结果是整数，除不尽的小数部分会被舍去。
        System.out.println(a / b); // 3.3333... ==> 3
        // 如果一定要保留小数有两种方法
        // 1.强制类型转换
        // 2.乘上1.0就运行的最大类型就变成了double 也可以实现
        System.out.println((double) a / b);
        System.out.println(1.0 * a / b);
        System.out.println(a % b);
    }

    // 需求：研究+符号做连接符还是做运算符.
    public static void print2() {
        int a = 5;
        System.out.println("abc" + a); // abc5
        System.out.println(a + 5); // 10
        // 先看yu和a能否运算很显然不能运算那么做拼接，得到yu5 然后在和字符串看能否运算 不能运算就拼接
        System.out.println("yu" + a + 'a'); // yu5a
        // 因为小写a是97 所以a + 'a' 这部分做的是加法运算，结果是102 因为char的本质是数字 最后和yu拼接
        System.out.println(a + 'a' + "yu"); // 102yu
    }
}
